<!DOCTYPE html>
<html lang="en" xmlns:v-model="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../../js/vue/jquery.js"></script>
    <script src="../../js/vue/vue.js"></script>
    <script src="../../js/vue/jquery.form.js"></script>
</head>

<body>
<div id="app">
    <form id="formId">
        <input type="hidden" name="id" v-model:value="user.id">
        名称：<input type="text" name="name" v-model:value="user.name"><br>
        年龄：<input type="text" name="age" v-model:value="user.age"><br>
        爱好：
        <input type="checkbox" name="hobby" value="c" v-model:value="user.hobby">c
        <input type="checkbox" name="hobby" value="go" v-model:value="user.hobby">go
        <input type="checkbox" name="hobby" value="pyhon" v-model:value="user.hobby">python
        <input type="checkbox" name="hobby" value="java" v-model:value="user.hobby">java<br>

        <!--添加更新操作都会调用mongo-demo中的接口,返回的都是json格式的数据,想要去到list.html页面
        必须根据接口的返回结果来确定,所以提交只能使用异步提交-->
        <input type="button" id="btn" @click="submitForm()" value="提交"/>
    </form>
</div>

<script>
    //获取url上的请求参数
    function getParams() {
        //获取问号及问号后面的内容
        var url = window.location.search;
        var params = new Object();
        if (url.indexOf("?") != -1) {
            //截取问号后面的内容,再使用&分割多个属性
            var arr = url.substr(1).split("&");
            for (var i = 0; i < arr.length; i++) {
                //使用=分割为keyvalue
                var keyValue = arr[i].split("=");
                params[keyValue[0]] = keyValue[1];
            }
        }
        return params;
    }

    // 得到用户id
    var param = getParams();
    var userId = param.id;
    //---------------------------------------------------------------------------------------------

    var app = new Vue({
        el: '#app',
        data: {user: {hobby: []}},
        methods: {
            submitForm: function () {
                // 表单的异步提交:ajaxForm:将表单改成异步表单,不提交;ajaxSubmit:将表单改成异步表单并提交
                $('#formId').ajaxSubmit({
                    // 异步提交的地址
                    url: "http://localhost:8888/users/saveOrUpdate",
                    // 提交方式
                    type: "POST",
                    // 提交成功后执行方法
                    success: function (data) {
                        if (data.success) {
                            // 如果成功跳转页面
                            window.location.href = "/views/demo/list.html";
                        }
                    }
                })
            }
        },
        mounted: function () {
            if (userId != null) {
                // 发送异步请求将用户id传给后端控制器的get方法查询用户信息,用于初始化,注意该区域是请求发起点
                $.get(
                    "http://localhost:8888/users/get",
                    // 注意属性名和后端形参名一致,否则报错
                    {id: userId},
                    function (data) {
                        console.log(data);
                        app.user = data;
                    })
            }
        }
    })
</script>
</body>
</html>